package only.my.railgunys.shooting;

import only.my.railgunys.artifact.ArtifactSuitEffect;
import only.my.railgunys.artifact.imp.CrimsonWitch;
import only.my.railgunys.artifact.imp.Gladiator;
import only.my.railgunys.artifact.imp.Shimenawa;
import only.my.railgunys.bean.Character;
import only.my.railgunys.bean.Enemy;
import only.my.railgunys.bean.Weapon;
import only.my.railgunys.utils.FightUtils;
import only.my.railgunys.weapon.Deathmatch;
import only.my.railgunys.weapon.Homa;

import java.util.Comparator;
import java.util.List;

import static only.my.railgunys.utils.FightUtils.initNormal90;

public class Xiao {
    public static void main(String[] args) {
        Character xiao = init90HomaXiao();
        Weapon homa = new Homa(1);
        Weapon deathmatch = new Deathmatch(5,2);
        ArtifactSuitEffect crimsonWitch = new CrimsonWitch();
        ArtifactSuitEffect gladiator = new Gladiator();
        ArtifactSuitEffect shimenawa = new Shimenawa();
        List<Character> characters = FightUtils.calcSuitIncrease(xiao, homa, crimsonWitch::setEffect2Piece, gladiator::setEffect2Piece);
        characters.stream().sorted(Comparator.comparingInt(Character::getTotalDmg).reversed())
                .limit(20).forEach(System.out::println);
    }

    public static Character init90HomaXiao(){

        Character xiao90Shooting = initXiao90Shooting();
        Enemy enemy = initNormal90(1);
        xiao90Shooting.setEnemy(enemy);
        xiao90Shooting.setSkillDmg(4.0402);
//        doubleFireTeam(xiao90Shooting);
        return xiao90Shooting;
    }

    public  static Character initXiao90Shooting(){
        Character xiao = new Character();

        xiao.setHp(12736D);
        xiao.setAtk(349.0);
        xiao.setCritDmg(50D);
        xiao.setCritRate(24.2D);
        xiao.setLevel(90);
        xiao.setDescription("90级魈");
        xiao.setIncrease(5.0+95.2); //天赋1 + 10级Q
        xiao.setAtkUseful(true);
        xiao.setCritRateUseful(true);
        xiao.setElementDmgUseful(true);
        return xiao;
    }
}
